#ifndef NMC_POINT_HPP
#define NMC_POINT_HPP

#include <iostream>

namespace nmc
{
	class Point
	{	
	public:
		Point();
		Point(int x, int y);
		Point operator+(const Point& point) const;
        Point operator-(const Point& point) const;
        bool operator==(const Point& point) const;
        bool operator!=(const Point& point) const;

		/**
         * Output operator for output.
         *
         * @param out The stream to output to.
         * @param point The point to output.
         */
        friend std::ostream& operator<<(std::ostream& out,
                                        const Point& point);
		
		int x;
		int y;
	};
}

#endif